package com.leetcode.two_pointers;

/**
 * @author Dennis Li
 * @date 2020/7/18 16:36
 */
public class ValidPalindrome_680 {

    public boolean validPalindrome(String s) {
        // 当不需要修改字符串的时候，不需要再生成一个新的数组,节约空间
        for (int i = 0, j = s.length() - 1; i < j; i++, j--)
            if (s.charAt(i) != s.charAt(j)) return isValid(s, i + 1, j) || isValid(s, i, j - 1);
        return true;
    }

    public boolean isValid(String s, int i, int j) {
        for (; i < j; i++, j--)
            if (s.charAt(i) != s.charAt(j)) return false;
        return true;
    }

}
